1. Field of the Invention
The present invention relates, in general, to computing systems in a distributed data processing environment. In particular, the present invention is a system and method for loading a web page in a browser application.
2. Description of the Related Art
A web page is a document written in the hypertext markup language (HTML) and translated by a web browser. The web page includes a static view portion and a dynamic view portion. The static view portion of the web page shows the same content each time a user views the web page and includes user interface control components (i.e., buttons, checkboxes, panels, etc.), web page headers, hypertext, and the like. The dynamic view portion of the web shows content that can change each time a user views the web page and includes data displayed in a user interface display components (i.e., list boxes, dropdown lists, etc.), applets, scripts, or the like.
A hypertext link is a word, phrase, or image in a web page that is marked using HTML. The HTML marking changes the display of the marked hypertext in the web browser (typically underlining the hypertext changing the color to blue) and associates an HTML target with the marked hypertext. When a user clicks on the marked hypertext with a pointing device, such as a mouse, the web browser will load (i.e., jump to) the target HTML document. The HTML target may be to another section of the same web page, another web page in the same domain, or another web page in a different domain. Thus, the hypertext link is a navigation element in a web page.
A web page may also mark objects, hypertext, or hot areas (i.e., coordinates of a specific are on a display), and associate the marked area with a script or applet, such that when a user clicks on the marked area with a pointing device, such as a mouse, the web browser will call the script or applet. These marked areas are not hypertext links, but will function as a hypertext link when the script or applet makes a call to load a web page. These marked areas that function as hypertext links are hidden links.
The model-view-controller (MVC) design pattern in software engineering isolates the business logic of the application from the user interface considerations, thus resulting in an application where it is easier to modify either the visual appearance of the application or the underlying business rules without affecting the other. In MVC, the “Model” represents the information (i.e., the data) of the application and the business rules used to manipulate the data; the “View” corresponds to elements of the user interface such as text, checkbox items, and so forth; and the “Controller” manages details involving the communication to the model of user actions such as keystrokes and mouse movements. Thus, a web application based on the MVC design pattern separates the web pages into a static view portion and a dynamic view portion.
The term Web 2.0 is ascribed to a trend in the use of World Wide Web technology and web design that aims to enhance creativity, information sharing, and, most notably, collaboration among users. These concepts have led to the development and evolution of web-based communities and hosted services, such as weblogs (blogs), wikis, podcasts, really simple syndication (RSS) feeds and other forms of many-to-many publishing, social networking software, and web application programming interfaces (APIs) provide enhancements over read-only websites.
Since web pages that are based on Web 2.0, MVC design patterns, and the like have more dynamic data than previous web pages, a major focus has been placed on improving the usability of web applications by drastically improving web page load times. Prior art solutions have focused on statically preloading the target web pages associated with all existing hypertext links on a displayed web page. Since these prior art solutions focus on analyzing the displayed web page to identify hypertext links, these solutions neglect to preload related web pages that are accessed via a non-hypertext link web page object on the displayed web page, such as a script, applet, servlet, or the like. Other prior art solutions rely on server-based caching proxies to serve the same content to multiple users. These other prior art solutions also neglect to preload related web pages that are accessed via a non-hypertext link web page object on the displayed web page, such as a script, applet, servlet, or the like.
Thus, there is a need for a new solution for prefetching or preloading future related web pages in a dynamic web application that uses late bound dynamic rules, or brokers, that leverage the separation of the web page into a static view portion and a dynamic view portion. The presently disclosed method and system satisfies this demand.